package BankEntity; public interface BankProc { /** * @pre (accountType != null) && (name != null) * @post new Account(accountID) * @invariant isWellFormed() */ public void addAccount(String name, String accountType); /** * @pre (accountID != null) && (Account(accountID) != null) && (name != null) && (Person(name) != null) * @post Account(accountID) == null * @invariant isWellFormed() */ public void removeAccount(String name, String accountID); /** * @pre (name != null) && (password != null) * @post new Person(name, password) * @invariant isWellFormed() */ public void addClient(String name, String password, String accountType); /** * @pre (name != null) && (Person(name) != null) * @post Person(name) == null * @invariant isWellFormed() */ public void removeClient(String name); /** * @pre (clientName != null) && (accountID != null) && (sum != null) && (sum > 0) * @post account(accountID).getMoney() == (@pre account(accountID).getMoney() + sum) * @invariant isWellFormed() */ public void addCash(String clientName, String accountID, double sum); /** * @pre (clientName != null) && (accountID != null) && (sum != null) && * (sum > 0) && (sum <= account.getMoney()) * @post account.getMoney() == (@pre account.getMoney() - sum) * @invariant isWellFormed() */ public void withdrawCash(String clientName, String accountID, double sum); /** * @pre client != null * @post new SpecificClientTable(client) * @invariant isWellFormed() */ public void generateReport(String client); }